package com.yfp.operation.mapper;

import com.yfp.operation.domain.ComboPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfp.operation.domain.dto.ComboPlanDTO;
import com.yfp.operation.domain.dto.GainComboPlanDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author admin
* @description 针对表【combo_plan】的数据库操作Mapper
* @createDate 2024-04-24 16:50:08
* @Entity domain.com.yfp.operation.ComboPlan
*/
public interface ComboPlanMapper extends BaseMapper<ComboPlan> {

    ComboPlan selectByCPlanId(String cPlanId);

    /**
     * 多条件查询套餐计划列表
     * @param gainComboPlanDTO
     * @return
     */
    List<ComboPlan> getAllComboPlan(GainComboPlanDTO gainComboPlanDTO);

    /**
     * 新增套餐计划
     * @param comboPlanDTO
     */
    void addComboPlan(ComboPlanDTO comboPlanDTO);

    /**
     * 获取套餐计划名称相同的数据
     * @param comboPlanDTO
     * @return
     */
    String getComboPlanName(ComboPlanDTO comboPlanDTO);

    /**
     * 获取套餐计划关联的设备是否有存在投放的计划
     * @param cPlanId
     * @return
     */
    Integer getComboPlan(@Param("cPlanId") List<String> cPlanId);

    /**
     * 修改套餐计划状态
     * @param cPlanId
     * @param status
     */
    void updateStatus(@Param("cPlanId") String cPlanId,@Param("status") String status);

    void deleteByPlanId(String planId);
    void deleteByCPlanId(String cplanId);

    void staleDated(@Param("planIds") List<String> planIds, @Param("status") String status);

    /**
     * 定时修改计划组为结束状态
     * @param timestamp
     * @param status
     */
    void updateComboPlanStatus( @Param("status") String status);
}




